/*
 * @Author       : DeaneChen
 * @Date         : 2021-08-19 11:07:56
 * @LastEditTime : 2021-08-19 13:31:09
 * @LastEditors  : DeaneChen
 * @Description  : 
 * @FilePath     : \master_controller\User\main.c
 * HomePage     : https://luheqiu.com
 */
#include "stm32f10x.h"
#include "delay.h"
#include "keyled.h"
#include "usart.h"
#include "i2c.h"
#include "mpu6050dmp.h"
#include "stdarg.h"
#include "stdio.h"

void Init(void);

int main(){
    
    /* 系统初始化 */
    Init();
    
    /* 初始化延时 */
    Delay_ms(500);
    
    /* MPU6050 DMP控制器初始化 */
    MPU6050_DMP_Init();
    
    /* 正常工作指示灯亮 */
    LED(1)=0;    
    
    while(1){
        Delay_ms(10);
        Get_MPU6050_DMP_Data();
        
    }

}



/**
 *@brief:中断配置函数
 */
void NVIC_Configuration(void)
{  
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);   //设置系统中断优先级分组2

    RCC_ClocksTypeDef RCC_Clocks;  
    RCC_GetClocksFreq(&RCC_Clocks);
    
	//设置嘀嗒时钟中断
    if (SysTick_Config(SystemCoreClock / 10000))
    { 
        /* Capture error */ 
        while (1);
    }
}

/**
 *@brief:初始化函数
 */
void Init(){
       
    NVIC_Configuration();
    
    //使能周期测试PIN
//    GPIO_InitTypeDef GPIO_InitStructure;
//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
//    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//    GPIO_Init(GPIOA, &GPIO_InitStructure);
//    
//    GPIO_SetBits(GPIOA,GPIO_Pin_2);
    
    /* 按键初始化 */
    Key_Init();
    /* LED初始化 */
    LED_Init();
    /* I2C1初始化 */
    I2C1_Init();
    /* 串口初始化 */
    USART1_Init();
    
}


